Conventional file managing systems use a tree structure to classify and organize files. The ends (leaf nodes) of the tree structure represent files. The branch points (nodes) of the tree structure are called directories (sometimes also referred to as “folders”).
A tree-structured file management system is a hierarchical file management system starting from a root directory (the trunk of the tree structure, represented by a backslash character “/”) as shown in FIG. 9. The directories D are indicated by dashed-line boxes and the files F are indicated by solid-line boxes. The y-th directories that are located x levels below the root directory are represented in the form of Dxy and files are represented in the form of Fxy. The arrows represent parent-child relationships. For example, “X→Y” represents that X is the parent directory of Y, viewing from Y, or Y is a child directory or child file of X, viewing from X.
In a tree structure, every directory or file has one directory (parent directory) at one level above it in a hierarchy.
However, there is only one exception: the directory that has no parent directory (namely the top directory) is called the “root directory.”
FIG. 8(a) shows an example of a simple tree-structured file management system. The directories “doc” and “bin” are located at the level immediately below the root directory (“/”), the directories “tennis” and “golf” below the directory “doc”, and the directories “tennis” and “golf” are below the directory “bin.”
Directories having the same directory names “tennis” and “golf” but different parent directories are treated as different directories. In a tree-structured file management system, every directory or file is expressed by a name beginning with the root directory to uniquely identify it.
A route (a listing of directories) for specifying a particular directory or file in this way is called a directory path (sometimes simply called a “path”).
In other words, a “directory path” can be defined as a listing of the names of the directories that leads from a directory to a file or another directory in a tree structure.
For example, the path for identifying the file “rule” in the tree structure shown in FIG. 8(a) is “/doc/tennis/rule.” A path can be represented as an absolute path (full path) or a relative path. The term “path” as used herein refers to an absolute path (namely a directory path from the root directory).
Tree structures are intuitive to understand and allow for systematic classification and organization, therefore are widely used as today's computer file management systems.
Patent Document 1 given below describes a non-tree-structured file management system in which one file can belong to more than one directory.
Patent Document 2 describes a method in which inclusive relations between file groups are registered. Once a file is registered in any of the groups, the inclusive relations between the file groups are referred to and the file is also registered in another related group.
Patent Document 3 describes a configuration including the steps of providing a virtual management file that associates a virtual directory name with a higher-level virtual directory, a lower-level virtual directory, the path to a directory for storing existing files, and a file name. When an instruction to create a virtual directory is issued, the step of creating a record in the virtual management file, setting a virtual directory name, and setting it in one of the higher-level virtual directory or lower-level virtual directory are provided.
Patent Document 4 describes a method in which an “attribute” is assigned to a file and the file is designated by a logical expression of the attribute and another method in which the attribute is treated as a directory to form a tree-structured directory.
The following Patent Documents are related technical documents for illustrating the background of the present invention.
Patent Document 1: Japanese Patent Laid-Open No. 63-124147 (the lower left part of page 2)
Patent Document 2: Japanese Patent Laid-Open No. 9-265421 (paragraph 10)
Patent Document 3: Japanese Patent Laid-Open No. 2002-140220 (paragraphs 6 and 7)
Patent Document 4: Japanese Patent Laid-Open No. 2002-132438 (paragraphs 9 and 16)
However, increasing the number of levels in traditional tree-structured file management systems leads to longer paths, which complicates the input operation.
If an operator does not remember the directory path of a file to operate, the operator must search all directories for the file in the worst case.
Furthermore, careful consideration is required in order to create an easy-to-use tree structure even if the depth of its hierarchy is shallow, because classifying directories and files at different levels with no parent-child relationship but more than one classification criterion into a conventional tree structure inevitably produces parent-child relationships between the different levels.
For example, if (i) a set of text files, (ii) a set of binary files, (iii) a set of files relating to tennis games, and (iv) a set of files relating to golf games are stored in directories “doc,” “bin,” “tennis,” and “golf,” respectively, then a file management system can be built with any of the schemes shown in FIGS. 8(a) and 8(b). However, because these files are classified according to criteria with no semantic inclusive relations, both schemes have disadvantages.
There is no parent-child relationship between the directory names “tennis” and “doc” in nature such as “mammals” and “dog.” Both of the classifications in FIGS. 8(a) and 8(b) are unnatural. As partial workaround for this, an approach to providing links (sometimes referred to as defining “aliases”) is known.
However, such links must be defined by an operator one by one and it is difficult to provide links to allow files to be classified from various points of view. Another problem is that when a real directory or file is relocated, its links will be broken.
The method described in patent document 1 is not adequate for classifying a large number of directories and files because a directory cannot belong to more than one directory.
The method described in patent document 2 has a problem that if a user creates group A, registers file B in group A, creates group C, defines that group C belongs to group A, and registers file D in group C with the same file name as that of file B, file B will be overwritten by file D, unbeknown to the user.
In particular, if a relationship indicating that “doc” includes “tennis” has been registered and a file relating to “tennis” but not to “doc” is registered in “tennis,” the file that does not relate to “doc” would be unintentionally registered in the group “doc”. Therefore, careful consideration is required when registering an inclusive relationship between groups.
If the method described in patent document 3 is used, creation of virtual directories places a burden on an operator. If the operator creates a virtual directory, “doc,” the operator must find the files one by one to include in the directory “doc” that are scattered through real directories and place them in the virtual directory “doc.”
Furthermore, when a real directory or real file is relocated, inconsistencies may arise in the correspondences between real directories and virtual directories unless the relocation is properly reflected in the virtual directory. Consequently, it may be possible that the file cannot be reached from the virtual directory.
The method described in patent document 4 is not capable of classifying or organizing a large number of attributes defined. Furthermore, treating “attributes” as “directories” amounts to the same thing as a traditional tree structure and therefore cannot solve problems with tree structures.
An object of the present invention is to solve these problems with the prior art and provide a novel file management system capable of classifying and organizing files and directories more easily and conveniently than in the conventional system without requiring additional operations.